package fei.yuzhi.com.loveflowers.fragment.firstpagefragment;

import java.util.List;

import fei.yuzhi.com.loveflowers.base.IModle;
import fei.yuzhi.com.loveflowers.base.IPresenter;
import fei.yuzhi.com.loveflowers.base.IView;

/**
 * Created by My on 2016/10/5.
 */
public class FirstPageContract {
    public interface View extends IView{
        /**加载自动轮播图的方法
         * @param urls 自动轮播图片的地址集合
         */
        void onAutoScrollSuccess(List<String> urls,List<String> mAutoScrollData);
        void onAutoScrollFail(String msg);

        /**
         * 加载宽度为手机屏幕图片的地址
         * @param firstImageUrl 自动轮播图下方的图片地址
         * @param timeLimtImageUrl 限时秒杀图片地址
         * @param todayImageUrl 今日推荐图片地址
         * @param hotSaleImageUrl 爱金花热销图片地址
         * @param horizontalRVImageUrl 最下方竖直布局的recyclerView所需的图片地址集合
         */
        void onImageViewSuccess(String firstImageUrl,String timeLimtImageUrl,
                                String todayImageUrl,String hotSaleImageUrl,
                                List<String> horizontalRVImageUrl,
                                List<String> mListViewData);
        void onImageViewFail(String msg);

        /**
         * 加载首页中所有的gridview
         * @param firstRvImageUrl 第一个列数为4的gridview
         * @param secondGirdRvImageUrl 限时秒杀下的gridview
         * @param threadGirdRvImageUrl 今日推荐下的gridview
         */
        void onGridRecyclerViewSuccess(List<String> firstRvImageUrl,
                                       List<String> secondGirdRvImageUrl,
                                       List<String> threadGirdRvImageUrl,
                                       List<String> mFirstRvData,
                                       List<String> mSecondRvData);
        void onGirdRecyclerViewFail(String msg);
    }
    public interface Model extends IModle{
        //在model中获取轮播图下方图片的网络地址
        void getImage(FirstPageModle.onGetImageUrlListener getImageUrlListener);
        //在model中获取头部滚动视图所需要的图片地址
        void getAutoScrollIamgeUrl(FirstPageModle.onGetAutoScrollImageUrlListener getAutoScrollImageUrlListener);
        //在model中获取第一个recyclerView所需要的图片
        void getGridImage(FirstPageModle.onGetGirdRecyclerViewImageListener getFirstRecyclerViewImageListener);
    }
    public interface Presenter extends IPresenter{
        //通过回调该方法将model获取的轮播图下方图片地址与view相连接
        void getImageFromNet();
        //通过回调该方法将model获取的轮播图的地址数组与view相连接
        void getAutoScrollIamgeUrlFromNet();
        //通过回调该方法将model获取的第一个网格布局的recyclerView的图片地址与view相关联
        void getGridRecyclerViewIamgeUrlFromNet();
    }
}
